﻿package lib;

import StringTools;
import haxe.Json;
import haxe.ds.ObjectMap;
import StringTools;
import lua.NativeStringTools;

/**
 *
 * using 这个库可以使用 ( int | string ).xxxx 的函数扩展
 * @author ...
 */
class TypeHelp {
	/**
	 * 替换文本
	 * @param	sub 目标
	 * @param	by 结果
	 * @return
	 */
	public static function replace(s:String, sub:String, by:String):String {
		return s.split(sub).join(by);
	}

	public static function toFixed(n:Float, s:Int):String {
		var startStr = Math.floor(n);
		var endStr = toString(n % 1);
		return (startStr + "." + endStr.substr(2, s));
	}

	/**
	 * 小数到文本
	 * @return
	 */
	public static function toString(n:Float):String {
		return Std.string(n);
	}

	/**
	 * 小数到整数
	 * @return
	 */
	public static function toInt(n:Float):Int {
		return Std.int(n);
	}

	/**
	 * 转换为小数
	 * @return
	 */
	public static function parseFloat(n:String):Float {
		return Std.parseFloat(n);
	}

	/**
	 * 转换为文本
	 * @return
	 */
	public static function parseInt(n:String):Float {
		return Std.parseInt(n);
	}

	public static function set(n:{}, key:Any, vaule:Any) {
		untyped n[key] = vaule;
	}

	public static function get(n:{}, key:Any):Any {
		untyped return n[key];
	}
	/*public static function toJson( s : String or Array<Int>) : Dynamic {
			return Json.parse(s);
		}

	 */
}
